
// #include <Arduino.h>
// #include "FS.h"
// #include "SPIFFS.h"
// #include "I2S.h"
// // const int micPin = 34; // MAX9814 OUT connected to GPIO34
// const int sampleRate = 16000; // 采样率
// const int bufferLength = 1024; // 缓冲区长度

// void saveToMP3File(int16_t* buffer, int length) {
//   // 创建/打开 MP3 文件
//   File file = SPIFFS.open("/audio.mp3", "a+");
//   if (!file) {
//     Serial.println("Failed to open file for writing");
//     return;
//   }

//   // TODO: 编码音频数据为 MP3
//   // 此处需要集成 MP3 编码库将 `buffer` 编码为 MP3 格式

//   // 写入文件
//   file.write((uint8_t*) buffer, length * sizeof(int16_t)); // 仅为例子，实际需要编码为 MP3
//   file.close();
  
//   Serial.println("Audio data written to file");
// }
// void setup() {
//   Serial.begin(115200);

//   // 初始化 SPIFFS
//   if (!SPIFFS.begin(true)) {
//     Serial.println("SPIFFS mount failed!");
//     return;
//   }
//   I2S.setAllPins(-1, 42, 41, -1, -1);
//   if (!I2S.begin(PDM_MONO_MODE, 16000, 16)) {
//     Serial.println("Failed to initialize I2S!");
//     while (1)
//       ;  // do nothing
//   }
//   // 初始化 ADC
//   // analogReadResolution(12); // 12 位分辨率
//   // analogSetPinAttenuation(micPin, ADC_0db); // 设置衰减

//   // 网页请求接口
//   // 这里你可以添加 Web 服务器来处理请求和读取音频等
// }

// void loop() {
//   // 创建一个音频数据缓冲区
//   int16_t audioBuffer[bufferLength];

//   // 读取音频数据
//   for (int i = 0; i < bufferLength; i++) {
//     // audioBuffer[i] = analogRead(micPin); // 读取 ADC 数据
//     audioBuffer[i] = I2S.read(); // 读取 ADC 数据
//   }

//   // 将音频数据保存到 MP3 文件
//   saveToMP3File(audioBuffer, bufferLength);

//   // 延迟以控制采样频率
//   delay(1000 / sampleRate);
// }

